ТЕХНИКА ОПТИМИЗАЦИИ ПРОГРАММ

Удаление лишних выражений[2]


Если результат вычисления некоторого выражения никак не используется в программе, то, очевидно, выполнять вычисление выражение нет никакой нужды. Как же возникает такой бессмысленный код? Чаще всего – из-за небрежности программиста, привыкшего сначала программировать, а потом думать, что он запрограммировал.

Рассмотрим следующий пример:

c = a/b;

c = a*b;

printf("%x\n",c);

Поскольку, результат вычислений выражения (a/b) никак не используется в программе, его можно удалить, избавляясь тем самым от одной операции деления и присвоения, смотрите:

c = a/b;

c = a*b;

printf("%x\n",c);

Все три рассматриваемых компилятора с лихвой справляются с удалением лишних выражений.



Содержание раздела